ITU-T H.264/MPEG-4 Part 10, is an international standard for video compression. It was adopted in 2003 and developed through a joint team partnership including the ITU-T Video Coding Experts Group (VCEG) together with the ISO/IEC Moving Picture Experts Group (MPEG). This standard is also referred to as MPEG-4 AVC (Advanced Video Coding).
Bitrate refers to the amount or number of bits conveyed per unit of time within the bandwidth of a communications network. With the use of MPEG-4 AVC, there is commonly a substantial bitrate savings over the older MPEG-2 standard. At the same time, this is with no substantial loss or even an improvement in the image quality of the encoded video. It is reported that for digital satellite television, MPEG-4 AVC uses less than half the overhead of MPEG-2 while giving the same or better quality as comparable MPEG-2 implementations. A still lower bitrate than MPEG-4 AVC is more desirable to increase further the availability of bandwidth, either for additional encoded video or for other utilizations.
High Efficiency Video Coding (HEVC) has been proposed as a newer video compression standard as a successor to MPEG-4 AVC. HEVC, like MPEG-4 AVC, has also been developed through a joint team partnership of ITU-T VCEG and ISO MPEG. One aim in HEVC is to substantially improve coding efficiency compared to the “High Profile” of MPEG-4 AVC. This profile is associated with high definition television. A goal of HEVC is to reduce by half the bitrate requirement of the MPEG-4 AVC High Profile, while also maintaining comparable image quality.
Among the proposals made for HEVC are those for “Geometric Block Partitioning” (GEO) and “Flexible Block Partitioning” (FLEX). FLEX is a methodology for flexibly partitioning blocks used in inter-frame coding. GEO is a different methodology used for flexibly partitioning blocks, and is geometrically-adaptive.
Both GEO and FLEX include the partitioning, or dividing, of a block into two non-overlapped parts called partitions. The partitions, according to each method, have a range to the variety of shapes for the two partitions. The range in the variety of partition shapes in GEO and FLEX differs. Both methodologies bring flexibility to the placement of the partitioning line in a block. This flexibility improves coding efficiency since the two partitions may be associated with two or more separate objects in the same block. The flexible partitioning in both GEO and FLEX includes computational steps in the encoding process. The computations for determining a partitioning line in GEO are more complex than FLEX. The description of the partitioning of the block requires an overhead of bits which is then encoded. In order to help limit the computational complexity in the flexible partitioning, and the amount of overhead used, both GEO and FLEX use a straight line in partitioning a block. However, each uses different parameters to describe the partitioning line.
In FLEX, the partitioning line is directional in nature. But the direction of the partitioning line is limited to only four choices. This is described in greater detail below in FIG. 4, demonstrating a comparative example including FLEX. The four choices for the direction of the partitioning line in FLEX are a 45 degree positive slope direction (see “FLEX I” 400), a 135 degree negative slope direction (see “FLEX II” 402), strict vertical direction (see “FLEX III” 404), and a strict horizontal direction (see “FLEX IV” 406). Also, a parameter “pos” is utilized in FLEX to describe the relative offset of the partitioning line in any block, from the block's center. Compared with GEO, FLEX involves much lower computational complexity in determining the partitioning line. Therefore, FLEX uses less overhead than GEO to encode the parameters used to describe its partitioning line. But FLEX has its drawbacks in that it offers only a limited number of possible partition shapes due to FLEX having only four possible directions for the partitioning line.
GEO describes the partitioning line by using two computational parameters. The parameters include an orientation angle “theta” (i.e., θ) for the direction of the partitioning line and a relative location “rho”, (i.e., ρ) describing an offset of the partitioning line from a block's center. These are described in greater detail below in FIG. 5, demonstrating a comparative example including GEO. Both GEO parameters are needed in determining the slope and the real pixel coordinates associated with the partitioning line in GEO. Also, in encoding GEO partitioned blocks, quantization is applied to the two parameters. The applied quantization in encoding the two parameters may be varied to balance a trade-off in GEO between coding efficiency and bitrate overhead. However, GEO has its own drawbacks when compared with FLEX, despite the greater range GEO has for partition shape variability. In GEO, the two parameters used to describe the partitioning line involve significantly more complex computations in the encoding process. Also, more bitrate overhead is required for encoding the parameters used in GEO. GEO requires significantly more bitrate overhead than FLEX.
Accordingly, the choice between GEO and FLEX for the HEVC standard is limited in terms of partitioning flexibility, bitrate overhead from encoding computational complexity and the parameters used in GEO. Some alternative implementation of flexible partitioning which addresses drawbacks and shortcomings associated with FLEX and GEO would be useful.